package com.jeesite.modules.information.entity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;

import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;

import javax.validation.constraints.NotNull;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import com.jeesite.modules.sys.entity.EmpUser;
import lombok.Data;

/**
 * 平台记录Entity
 *
 * @author laz
 * @version 2024-05-09
 */
@Table(name = "platform_id_mapping", alias = "a", label = "平台记录信息", columns = {
        @Column(name = "id", attrName = "id", label = "ID", isPK = true),
        @Column(name = "platform_id", attrName = "platformId", label = "平台ID", isUpdate = false, isQuery = false),
        @Column(name = "platform_a_id", attrName = "platformAId", label = "平台A ID"),
        @Column(name = "platform_b_id", attrName = "platformBId", label = "平台B ID"),
        @Column(name = "platform_c_id", attrName = "platformCId", label = "平台C ID"),
        @Column(name = "platform_d_id", attrName = "platformDId", label = "平台D ID"),
        @Column(name = "platform_e_id", attrName = "platformEId", label = "平台E ID"),
        @Column(name = "reserved_platform_1_id", attrName = "reservedPlatform1Id", label = "预留平台1 ID"),
        @Column(name = "reserved_platform_2_id", attrName = "reservedPlatform2Id", label = "预留平台2 ID"),
        @Column(name = "created_at", attrName = "createdAt", label = "创建时间"),
        @Column(name = "updated_at", attrName = "updatedAt", label = "更新时间"),
},
        orderBy = "a.id DESC"
)
@Data
public class PlatformIdMapping extends DataEntity<PlatformIdMapping> {

    private static final long serialVersionUID = 1L;
    private String platformId;           // 平台ID
    private String platformAId;          // 平台A ID
    private String platformBId;          // 平台B ID
    private String platformCId;          // 平台C ID
    private String platformDId;          // 平台D ID
    private String platformEId;          // 平台E ID
    private String reservedPlatform1Id;  // 预留平台1 ID
    private String reservedPlatform2Id;  // 预留平台2 ID
    private Date createdAt;              // 创建时间
    private Date updatedAt;              // 更新时间

    public PlatformIdMapping() {
        this(null);
    }

    public PlatformIdMapping(String id) {
        super(id);
    }

    public String getPlatformId() {
        return platformId;
    }

    public void setPlatformId(String platformId) {
        this.platformId = platformId;
    }

    public String getPlatformAId() {
        return platformAId;
    }

    public void setPlatformAId(String platformAId) {
        this.platformAId = platformAId;
    }

    public String getPlatformBId() {
        return platformBId;
    }

    public void setPlatformBId(String platformBId) {
        this.platformBId = platformBId;
    }

    public String getPlatformCId() {
        return platformCId;
    }

    public void setPlatformCId(String platformCId) {
        this.platformCId = platformCId;
    }

    public String getPlatformDId() {
        return platformDId;
    }

    public void setPlatformDId(String platformDId) {
        this.platformDId = platformDId;
    }

    public String getPlatformEId() {
        return platformEId;
    }

    public void setPlatformEId(String platformEId) {
        this.platformEId = platformEId;
    }

    public String getReservedPlatform1Id() {
        return reservedPlatform1Id;
    }

    public void setReservedPlatform1Id(String reservedPlatform1Id) {
        this.reservedPlatform1Id = reservedPlatform1Id;
    }

    public String getReservedPlatform2Id() {
        return reservedPlatform2Id;
    }

    public void setReservedPlatform2Id(String reservedPlatform2Id) {
        this.reservedPlatform2Id = reservedPlatform2Id;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }
}